perm filename RECORD.DEF[1,3]1 blob sn#179528 filedate 1975-10-05 generic text, type T, neo UTF8
EXTERNAL RECORD_CLASS $CLASS(INTEGER RECRNG,HNDLER,RECSIZ;
				INTEGER ARRAY TYPARR;
				STRING ARRAY TXTARR);

EXTERNAL RECORD_POINTER(ANY_CLASS) PROCEDURE $REC$(INTEGER OP;
					RECORD_POINTER(ANY_CLASS) R);

COMMENT OP VALUES FOR $REC$;
DEFINE ALLOCATE_RECORD = 1;
DEFINE MARK_SUBFILEDS = 4;
DEFINE DELETE_RECORD = 5;

EXTERNAL PROCEDURE $RECGC;

DEFINE MIN$SB = 3;
DEFINE MAX$SB = 16;
EXTERNAL INTEGER ARRAY $SPCAR[MIN$SB:MAX$SB];

DEFINE $SB_BLKSIZ=0;	COMMENT SIZE OF BLOCKS;
DEFINE $SB_TRIGGER=1;	COMMENT  COUNT DOWN FOR RECGC;
DEFINE $SB_TGRMIN=2;	COMMENT  MINIMUM NUMBER PERMITTED FOR TRIGGER SETTING;
DEFINE $SB_TINUSE=3;	COMMENT TOTAL NUMBER OF RECORDS IN USE;
DEFINE $SB_TUNUSED=4;	COMMENT TOTAL UNUSED BUFFERS;
DEFINE $SB_FBLIST=5;	COMMENT  FREE BUFFER LIST;
DEFINE $SB_FULLS=6;	COMMENT  FULL BUFFER LIST;
DEFINE $SB_CULPRT=7;	COMMENT COUNTED UP EACH TIME GC IS TRIGGERED BY THIS SPACE;

COMMENT GET AT FIELDS USING MEMORY.  E.G., MEMORY[$SPCAR[4]+$SB_TRIGGER] ;